package inits

import (
	"context"
	"fmt"
	"go.mongodb.org/mongo-driver/mongo"
	"go.mongodb.org/mongo-driver/mongo/options"
	"log"
)

func InitMongoDB() {
	data := Config.MongoDB
	opts := options.Client().ApplyURI(fmt.Sprintf("mongodb://%s:%s@%s:%d", data.User, data.Password, data.Host, data.Port))
	//连接到mongoDB
	client, err := mongo.Connect(context.TODO(), opts)
	if err != nil {
		panic(err)
	}
	//检查连接
	err = client.Ping(context.TODO(), nil)
	if err != nil {
		panic(err)
	}
	log.Println("mongodb inits success")
	//由于都是同一个集合进行操作，所以在初始化连接时就选择集合，避免出现大量重复代码
	Mongo = client.Database("mongodb").Collection("collect")                  //mongodb数据存储表
	MongoDB = client.Database("mongodb").Collection("health_data")            //MongoDB清理后的数据表
	MongoSum = client.Database("mongodb").Collection("health_data_summarize") //MongoDB总结后的数据表
	MongoComments = client.Database("mongodb").Collection("product_comments") //一级评论
	MongoReply = client.Database("mongodb").Collection("comment_reply")       //二级评论
}
